home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / RESOURCE / JKMRES.GOO / cog_force_destruction.cog < prev    next >
Text File  |  1998-02-25  |  2KB  |  104 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # FORCE_DESTRUCTION.COG
  4. #
  5. # FORCEPOWER Script - Destruction
  6. #  Dark Side Bonus Power
  7. #  Bin 33
  8. #
  9. # [YB]
  10. #
  11. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  12.  
  13.  
  14. symbols
  15.  
  16. thing       player                           local
  17.  
  18. template    destProj1=+force_dest_p1         local
  19. template    destProj2=+force_dest_p2         local
  20. template    destProj3=+force_dest_p3         local
  21. template    destProj4=+force_dest_p4         local
  22. sound       destSound=ForceDestruct01.wav    local
  23.  
  24. flex        cost=200.0                       local
  25. flex        mana                             local
  26. int         rank                             local
  27.  
  28. flex        autoAimFOV=10                    local
  29.  
  30. int         inbubble=0                       local
  31.  
  32. message     startup
  33. message     activated
  34. message     selected
  35. message     enterbubble
  36. message     exitbubble
  37.  
  38. end
  39.  
  40. # ========================================================================================
  41.  
  42. code
  43.  
  44. startup:
  45.    player = GetLocalPlayerThing();
  46.    inbubble = 0;
  47.  
  48.    Return;
  49.  
  50. # ........................................................................................
  51.  
  52. activated:
  53.    if(inbubble) Return;
  54.  
  55.       // Disallow destruction while on the EWEB.
  56.    if (GetCurWeapon(player) == 10)
  57.    {
  58.       jkPrintUNIString(player, 381);   // Step off the EWEB First!
  59.       return;
  60.    }
  61.  
  62.    mana = GetInv( player, 14 );
  63.    if(mana >= cost || GetInv(player, 14) >= GetInv(player, 69))
  64.    {
  65.       if(GetInv(player, 64) != 1) ChangeInv(player, 14, -cost);
  66.  
  67.       // Send a "force disturbance"...
  68.       if(!IsMulti())
  69.          SendMessageExRadius(GetThingPos(player), cost, 0x4, splash, 33, 0, 0, 0);
  70.  
  71.       rank = GetInv(player, 33);
  72.       AddDynamicTint(player, 0.3, 0.0, 0.15);
  73.  
  74.       FireProjectile(player, destProj1[rank-1], destSound, 24, '0 0 0', '0 0 0', 1.0, 0, autoAimFOV, autoAimFOV);
  75.  
  76.       SetBinWait(player, 33, 2.75);
  77.    }
  78.  
  79.    Return;
  80.  
  81. # ........................................................................................
  82.  
  83. selected:
  84.    jkPrintUNIString(player, 33);
  85.  
  86.    Return;
  87.  
  88. # ........................................................................................
  89.  
  90. enterbubble:
  91.    inbubble = 1;
  92.    //call stop_power;
  93.    Return;
  94.  
  95. # ........................................................................................
  96.  
  97. exitbubble:
  98.    inbubble = 0;
  99.    Return;
  100.  
  101. end
  102.  
  103.  
  104.